package nancal.mp.db.mysql.entity

import nbcp.base.db.annotation.*
import nbcp.myoql.db.sql.base.BaseSqlMarkEntity
import java.time.LocalDateTime


//系统附件表
//
//@SqlEntityGroup("system")
//@DbUks("id")
//@SqlRks("corp_id")
//data class s_annex(
//        @SqlAutoIncrementKey
//        var id: Int = 0,
//        var name: String = "",          //显示的名字,友好的名称
////        var localPath: String = "",     //本地文件路径以及文件名。 用来删除。
//        var ext: String = "",           //后缀名。
//        var size: Int = 0,              //大小
//        var checkCode: String = "",     //Md5,Sha1
//        var imgWidth: Int = 0,          // 图像宽度值。
//        var imgHeight: Int = 0,         // 图像宽度值。
//        var url: String = "",           //下载的路径。没有 host
//
//        @SqlFk("s_user", "id")
//        var createby_id: Int = 0, //创建者
//        var createby_name: String = "", //创建者
//
//        var errorMsg: String = "",      //文件处理时的错误消息
//        var createAt: LocalDateTime = LocalDateTime.now()
//) : IBaseDbEntity() {
//}
//
//
//@SqlEntityGroup("system")
//@DbUks("id")
//data class s_log(
//        @SqlAutoIncrementKey
//        var id: Int = 0,
//        var msg: String = "",
//        var creatAt: LocalDateTime = LocalDateTime.now(),
//        var createBy_id: String = "",
//        var createBy_name: String = "",
//        var type: String = "",
//        var clientIp: String = "",
//        var module: String = "",
//        var remark: String = ""
//) : IBaseDbEntity()


@Cn("用户")
@DbEntityGroup("system")
@DbEntityIndexes(
    DbEntityIndex("loginName", unique = true),
)
//用户
data class s_user(
    //姓名
    @Cn("姓名")
    var name: String = "",
    //用户名
    @Cn("登录名")
    @DbName("login_name")
    var loginName: String = "",
    //员工号
    @Cn("员工号")
    var code: String = "",
    //手机号
    @Cn("手机号")
    var mobile: String = "",

    @Cn("是否是管理员")
    //是否是管理员
    @DbName("is_admin")
    var isAdmin: Boolean = false,

    @Cn("是否已删除")
    @DbName("is_deleted")
    var isDeleted: Boolean = false,

    ) : BaseSqlMarkEntity()

@DbEntityGroup("system")
@DbEntityIndexes(
    DbEntityIndex("id", unique = true),
    DbEntityIndex("loginName", unique = true),
)
@Cn("用户登录信息")
//登录信息
data class s_login_user(
    @Cn("用户Id")
    @DbName("user_id")
    var userId:String = "",

    @Cn("手机号")
    var mobile: String = "",

    @Cn("登录名")
    @DbName("login_name")
    var loginName: String = "",

    @Cn("登录邮箱")
    var email: String = "",     //认证后更新

    @Cn("密码")
    var password: String = "",

    @Cn("最后登录时间")
    @DbName("last_login_at")
    var lastLoginAt: LocalDateTime = LocalDateTime.now(),
    @Cn("连续错误登录次数")
    @DbName("error_count")
    var errorCount: Int = 0,

    @Cn("是否已锁定")
    @DbName("is_locked")
    var isLocked: Boolean = false,
    @Cn("锁定详情")
    @DbName("locked_remark")
    var lockedRemark: String = "",
) : BaseSqlMarkEntity()
